package main4wxapplets
import (
    p3af9f8786 "gitee.com/bitwormhole/weixin-applet-backend/app/classes/wxauth"
    p075b6c6ca "gitee.com/bitwormhole/weixin-applet-backend/app/classes/wxusers"
    p70f51708e "gitee.com/bitwormhole/weixin-applet-backend/app/data/dao"
    p178c796da "gitee.com/bitwormhole/weixin-applet-backend/app/data/database"
    pf83c15204 "gitee.com/bitwormhole/weixin-applet-backend/app/data/dxo"
    p177054124 "gitee.com/bitwormhole/weixin-applet-backend/app/implements/example"
    pdb4824760 "gitee.com/bitwormhole/weixin-applet-backend/app/implements/idao"
    p493a62f19 "gitee.com/bitwormhole/weixin-applet-backend/app/implements/weixin/iusers"
    pa99b360c5 "gitee.com/bitwormhole/weixin-applet-backend/app/web/controllers/apiv1"
    pdea5a0f47 "github.com/starter-go/httpagent"
    pd1a916a20 "github.com/starter-go/libgin"
    p512a30914 "github.com/starter-go/libgorm"
    p24287f458 "github.com/starter-go/rbac"
    pf5d2c6fae "github.com/starter-go/security-gorm/rbacdb"
    p9621e8b71 "github.com/starter-go/security/random"
     "github.com/starter-go/application"
)

// type p3af9f8786.WeixinAppletAuth in package:gitee.com/bitwormhole/weixin-applet-backend/app/classes/wxauth
//
// id:com-3af9f87865346bbf-wxauth-WeixinAppletAuth
// class:class-9d209f7c2504d33e6054a2c9998e9485-Registry
// alias:
// scope:singleton
//
type p3af9f87865_wxauth_WeixinAppletAuth struct {
}

func (inst* p3af9f87865_wxauth_WeixinAppletAuth) register(cr application.ComponentRegistry) error {
	r := cr.NewRegistration()
	r.ID = "com-3af9f87865346bbf-wxauth-WeixinAppletAuth"
	r.Classes = "class-9d209f7c2504d33e6054a2c9998e9485-Registry"
	r.Aliases = ""
	r.Scope = "singleton"
	r.NewFunc = inst.new
	r.InjectFunc = inst.inject
	return r.Commit()
}

func (inst* p3af9f87865_wxauth_WeixinAppletAuth) new() any {
    return &p3af9f8786.WeixinAppletAuth{}
}

func (inst* p3af9f87865_wxauth_WeixinAppletAuth) inject(injext application.InjectionExt, instance any) error {
	ie := injext
	com := instance.(*p3af9f8786.WeixinAppletAuth)
	nop(ie, com)

	
    com.WebClients = inst.getWebClients(ie)
    com.WxUserService = inst.getWxUserService(ie)
    com.AppKeyID = inst.getAppKeyID(ie)
    com.AppKeySecret = inst.getAppKeySecret(ie)


    return nil
}


func (inst*p3af9f87865_wxauth_WeixinAppletAuth) getWebClients(ie application.InjectionExt)pdea5a0f47.Clients{
    return ie.GetComponent("#alias-dea5a0f47697e78c03558bf00bc7ff9c-Clients").(pdea5a0f47.Clients)
}


func (inst*p3af9f87865_wxauth_WeixinAppletAuth) getWxUserService(ie application.InjectionExt)p075b6c6ca.Service{
    return ie.GetComponent("#alias-075b6c6ca8172cdb6bc85a9f2e97af96-Service").(p075b6c6ca.Service)
}


func (inst*p3af9f87865_wxauth_WeixinAppletAuth) getAppKeyID(ie application.InjectionExt)string{
    return ie.GetString("${weixin.applet.app-id}")
}


func (inst*p3af9f87865_wxauth_WeixinAppletAuth) getAppKeySecret(ie application.InjectionExt)string{
    return ie.GetString("${weixin.applet.app-secret}")
}



// type p178c796da.ThisGroup in package:gitee.com/bitwormhole/weixin-applet-backend/app/data/database
//
// id:com-178c796dadd1030a-database-ThisGroup
// class:class-512a309140d0ad99eb1c95c8dc0d02f9-GroupRegistry
// alias:alias-f83c15204163b91463aeccc2dced1780-DatabaseAgent
// scope:singleton
//
type p178c796dad_database_ThisGroup struct {
}

func (inst* p178c796dad_database_ThisGroup) register(cr application.ComponentRegistry) error {
	r := cr.NewRegistration()
	r.ID = "com-178c796dadd1030a-database-ThisGroup"
	r.Classes = "class-512a309140d0ad99eb1c95c8dc0d02f9-GroupRegistry"
	r.Aliases = "alias-f83c15204163b91463aeccc2dced1780-DatabaseAgent"
	r.Scope = "singleton"
	r.NewFunc = inst.new
	r.InjectFunc = inst.inject
	return r.Commit()
}

func (inst* p178c796dad_database_ThisGroup) new() any {
    return &p178c796da.ThisGroup{}
}

func (inst* p178c796dad_database_ThisGroup) inject(injext application.InjectionExt, instance any) error {
	ie := injext
	com := instance.(*p178c796da.ThisGroup)
	nop(ie, com)

	
    com.Enabled = inst.getEnabled(ie)
    com.Alias = inst.getAlias(ie)
    com.URI = inst.getURI(ie)
    com.Prefix = inst.getPrefix(ie)
    com.Source = inst.getSource(ie)
    com.SourceManager = inst.getSourceManager(ie)


    return nil
}


func (inst*p178c796dad_database_ThisGroup) getEnabled(ie application.InjectionExt)bool{
    return ie.GetBool("${datagroup.wxapplets.enabled}")
}


func (inst*p178c796dad_database_ThisGroup) getAlias(ie application.InjectionExt)string{
    return ie.GetString("${datagroup.wxapplets.alias}")
}


func (inst*p178c796dad_database_ThisGroup) getURI(ie application.InjectionExt)string{
    return ie.GetString("${datagroup.wxapplets.uri}")
}


func (inst*p178c796dad_database_ThisGroup) getPrefix(ie application.InjectionExt)string{
    return ie.GetString("${datagroup.wxapplets.table-name-prefix}")
}


func (inst*p178c796dad_database_ThisGroup) getSource(ie application.InjectionExt)string{
    return ie.GetString("${datagroup.wxapplets.datasource}")
}


func (inst*p178c796dad_database_ThisGroup) getSourceManager(ie application.InjectionExt)p512a30914.DataSourceManager{
    return ie.GetComponent("#alias-512a309140d0ad99eb1c95c8dc0d02f9-DataSourceManager").(p512a30914.DataSourceManager)
}



// type p177054124.DaoImpl in package:gitee.com/bitwormhole/weixin-applet-backend/app/implements/example
//
// id:com-1770541246fa7fc0-example-DaoImpl
// class:
// alias:alias-70f51708eb111b9c949407bbbf83f7eb-ExampleDAO
// scope:singleton
//
type p1770541246_example_DaoImpl struct {
}

func (inst* p1770541246_example_DaoImpl) register(cr application.ComponentRegistry) error {
	r := cr.NewRegistration()
	r.ID = "com-1770541246fa7fc0-example-DaoImpl"
	r.Classes = ""
	r.Aliases = "alias-70f51708eb111b9c949407bbbf83f7eb-ExampleDAO"
	r.Scope = "singleton"
	r.NewFunc = inst.new
	r.InjectFunc = inst.inject
	return r.Commit()
}

func (inst* p1770541246_example_DaoImpl) new() any {
    return &p177054124.DaoImpl{}
}

func (inst* p1770541246_example_DaoImpl) inject(injext application.InjectionExt, instance any) error {
	ie := injext
	com := instance.(*p177054124.DaoImpl)
	nop(ie, com)

	
    com.Agent = inst.getAgent(ie)


    return nil
}


func (inst*p1770541246_example_DaoImpl) getAgent(ie application.InjectionExt)pf83c15204.DatabaseAgent{
    return ie.GetComponent("#alias-f83c15204163b91463aeccc2dced1780-DatabaseAgent").(pf83c15204.DatabaseAgent)
}



// type pdb4824760.WeixinUserDao in package:gitee.com/bitwormhole/weixin-applet-backend/app/implements/idao
//
// id:com-db4824760f332d4a-idao-WeixinUserDao
// class:
// alias:alias-075b6c6ca8172cdb6bc85a9f2e97af96-DAO
// scope:singleton
//
type pdb4824760f_idao_WeixinUserDao struct {
}

func (inst* pdb4824760f_idao_WeixinUserDao) register(cr application.ComponentRegistry) error {
	r := cr.NewRegistration()
	r.ID = "com-db4824760f332d4a-idao-WeixinUserDao"
	r.Classes = ""
	r.Aliases = "alias-075b6c6ca8172cdb6bc85a9f2e97af96-DAO"
	r.Scope = "singleton"
	r.NewFunc = inst.new
	r.InjectFunc = inst.inject
	return r.Commit()
}

func (inst* pdb4824760f_idao_WeixinUserDao) new() any {
    return &pdb4824760.WeixinUserDao{}
}

func (inst* pdb4824760f_idao_WeixinUserDao) inject(injext application.InjectionExt, instance any) error {
	ie := injext
	com := instance.(*pdb4824760.WeixinUserDao)
	nop(ie, com)

	
    com.Agent = inst.getAgent(ie)
    com.UUIDService = inst.getUUIDService(ie)


    return nil
}


func (inst*pdb4824760f_idao_WeixinUserDao) getAgent(ie application.InjectionExt)pf83c15204.DatabaseAgent{
    return ie.GetComponent("#alias-f83c15204163b91463aeccc2dced1780-DatabaseAgent").(pf83c15204.DatabaseAgent)
}


func (inst*pdb4824760f_idao_WeixinUserDao) getUUIDService(ie application.InjectionExt)p9621e8b71.UUIDService{
    return ie.GetComponent("#alias-9621e8b71013b0fc25942a1749ed3652-UUIDService").(p9621e8b71.UUIDService)
}



// type p493a62f19.WeixinUserServiceImpl in package:gitee.com/bitwormhole/weixin-applet-backend/app/implements/weixin/iusers
//
// id:com-493a62f19cf55bd5-iusers-WeixinUserServiceImpl
// class:
// alias:alias-075b6c6ca8172cdb6bc85a9f2e97af96-Service
// scope:singleton
//
type p493a62f19c_iusers_WeixinUserServiceImpl struct {
}

func (inst* p493a62f19c_iusers_WeixinUserServiceImpl) register(cr application.ComponentRegistry) error {
	r := cr.NewRegistration()
	r.ID = "com-493a62f19cf55bd5-iusers-WeixinUserServiceImpl"
	r.Classes = ""
	r.Aliases = "alias-075b6c6ca8172cdb6bc85a9f2e97af96-Service"
	r.Scope = "singleton"
	r.NewFunc = inst.new
	r.InjectFunc = inst.inject
	return r.Commit()
}

func (inst* p493a62f19c_iusers_WeixinUserServiceImpl) new() any {
    return &p493a62f19.WeixinUserServiceImpl{}
}

func (inst* p493a62f19c_iusers_WeixinUserServiceImpl) inject(injext application.InjectionExt, instance any) error {
	ie := injext
	com := instance.(*p493a62f19.WeixinUserServiceImpl)
	nop(ie, com)

	
    com.Agent = inst.getAgent(ie)
    com.WxUserDAO = inst.getWxUserDAO(ie)
    com.UserDAO = inst.getUserDAO(ie)
    com.UserService = inst.getUserService(ie)


    return nil
}


func (inst*p493a62f19c_iusers_WeixinUserServiceImpl) getAgent(ie application.InjectionExt)pf83c15204.DatabaseAgent{
    return ie.GetComponent("#alias-f83c15204163b91463aeccc2dced1780-DatabaseAgent").(pf83c15204.DatabaseAgent)
}


func (inst*p493a62f19c_iusers_WeixinUserServiceImpl) getWxUserDAO(ie application.InjectionExt)p075b6c6ca.DAO{
    return ie.GetComponent("#alias-075b6c6ca8172cdb6bc85a9f2e97af96-DAO").(p075b6c6ca.DAO)
}


func (inst*p493a62f19c_iusers_WeixinUserServiceImpl) getUserDAO(ie application.InjectionExt)pf5d2c6fae.UserDAO{
    return ie.GetComponent("#alias-f5d2c6fae036814399fa2ed06c0dc99f-UserDAO").(pf5d2c6fae.UserDAO)
}


func (inst*p493a62f19c_iusers_WeixinUserServiceImpl) getUserService(ie application.InjectionExt)p24287f458.UserService{
    return ie.GetComponent("#alias-24287f4589fe5add27fb48a88d706565-UserService").(p24287f458.UserService)
}



// type pa99b360c5.ExampleController in package:gitee.com/bitwormhole/weixin-applet-backend/app/web/controllers/apiv1
//
// id:com-a99b360c53989874-apiv1-ExampleController
// class:class-d1a916a203352fd5d33eabc36896b42e-Controller
// alias:
// scope:singleton
//
type pa99b360c53_apiv1_ExampleController struct {
}

func (inst* pa99b360c53_apiv1_ExampleController) register(cr application.ComponentRegistry) error {
	r := cr.NewRegistration()
	r.ID = "com-a99b360c53989874-apiv1-ExampleController"
	r.Classes = "class-d1a916a203352fd5d33eabc36896b42e-Controller"
	r.Aliases = ""
	r.Scope = "singleton"
	r.NewFunc = inst.new
	r.InjectFunc = inst.inject
	return r.Commit()
}

func (inst* pa99b360c53_apiv1_ExampleController) new() any {
    return &pa99b360c5.ExampleController{}
}

func (inst* pa99b360c53_apiv1_ExampleController) inject(injext application.InjectionExt, instance any) error {
	ie := injext
	com := instance.(*pa99b360c5.ExampleController)
	nop(ie, com)

	
    com.Sender = inst.getSender(ie)
    com.Dao = inst.getDao(ie)


    return nil
}


func (inst*pa99b360c53_apiv1_ExampleController) getSender(ie application.InjectionExt)pd1a916a20.Responder{
    return ie.GetComponent("#alias-d1a916a203352fd5d33eabc36896b42e-Responder").(pd1a916a20.Responder)
}


func (inst*pa99b360c53_apiv1_ExampleController) getDao(ie application.InjectionExt)p70f51708e.ExampleDAO{
    return ie.GetComponent("#alias-70f51708eb111b9c949407bbbf83f7eb-ExampleDAO").(p70f51708e.ExampleDAO)
}


